package org.linlinjava.litemall.db.vo.order_manage;

import org.linlinjava.litemall.db.domain.LitemallAftersale;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * @author wj
 * @date 2021/5/31 11:48
 */
public class OrderDetailBackVo {


    /**
     * 订单表id
     */
    private Integer id;

    /**
     * 用户表的用户id
     */
    private Integer userId;

    /**
     * 订单编号
     */
    private String  orderSn;

    /**
     * 订单状态
     */
    private Short orderStatus;

    /**
     * 售后状态
     */
    private Short aftersaleStatus;

    /**
     * 收货人名称
     */
    private String consignee;

    /**
     * 收货人电话
     */
    private String mobile;

    /**
     * 收货地址
     */
    private String address;

    /**
     * 用户订单留言
     */
    private String message;

    /**
     * 商品总费用
     */
    private BigDecimal goodsPrice;

    /**
     * 配送费用
     */
    private BigDecimal freightPrice;

    /**
     * 优惠券减免
     */
    private BigDecimal couponPrice;

    /**
     * 用户积分减免
     */
    private BigDecimal integralPrice;

    /**
     * 团购优惠价减免
     */
    private BigDecimal grouponPrice;

    /**
     * 订单费用
     */
    private BigDecimal orderPrice;

    /**
     * 实付费用
     */
    private BigDecimal actualPrice;

    /**
     * 付款id
     */
    private String payId;

    /**
     * 付款时间
     */
    private LocalDateTime payTime;

    /**
     * 发货编号
     */
    private String shipSn;

    /**
     * 发货快递公司
     */
    private String shipChannel;

    /**
     * 发货开始时间
     */
    private LocalDateTime shipTime;

    /**
     * 实际退款金额
     */
    private BigDecimal refundAmount;

    /**
     * 退款方式
     */
    private String refundType;

    /**
     * 退款备注
     */
    private String refundContent;

    /**
     * 退款时间
     */
    private LocalDateTime refundTime;

    /**
     * 用户确认收货时间
     */
    private LocalDateTime confirmTime;

    /**
     * 待评价商品数量
     */
    private Short comments;

    /**
     * 订单关闭时间
     */
    private LocalDateTime endTime;

    /**
     * 创建时间
     */
    private LocalDateTime addTime;

    /**
     * 支付类型
     */
    private String payType;

    /**
     * 订单状态名称
     */
    private String statusName;

    /**
     * 下单信息
     */
    private List<OrderLogisticsMessage> orderLogisticsMessages;

    /**
     * 物品列表
     */
    private List<OrderGoodsBackVo> goodsList;

    private Map<Integer,Object> packageMap;

    private List<LitemallAftersale> aftersalesList;

    public OrderDetailBackVo() {
    }

    public OrderDetailBackVo(Integer id, Integer userId, String orderSn, Short orderStatus, Short aftersaleStatus, String consignee, String mobile, String address, String message, BigDecimal goodsPrice, BigDecimal freightPrice, BigDecimal couponPrice, BigDecimal integralPrice, BigDecimal grouponPrice, BigDecimal orderPrice, BigDecimal actualPrice, String payId, LocalDateTime payTime, String shipSn, String shipChannel, LocalDateTime shipTime, BigDecimal refundAmount, String refundType, String refundContent, LocalDateTime refundTime, LocalDateTime confirmTime, Short comments, LocalDateTime endTime, LocalDateTime addTime, String payType, String statusName, List<OrderLogisticsMessage> orderLogisticsMessages, List<OrderGoodsBackVo> goodsList, Map<Integer, Object> packageMap, List<LitemallAftersale> aftersalesList) {
        this.id = id;
        this.userId = userId;
        this.orderSn = orderSn;
        this.orderStatus = orderStatus;
        this.aftersaleStatus = aftersaleStatus;
        this.consignee = consignee;
        this.mobile = mobile;
        this.address = address;
        this.message = message;
        this.goodsPrice = goodsPrice;
        this.freightPrice = freightPrice;
        this.couponPrice = couponPrice;
        this.integralPrice = integralPrice;
        this.grouponPrice = grouponPrice;
        this.orderPrice = orderPrice;
        this.actualPrice = actualPrice;
        this.payId = payId;
        this.payTime = payTime;
        this.shipSn = shipSn;
        this.shipChannel = shipChannel;
        this.shipTime = shipTime;
        this.refundAmount = refundAmount;
        this.refundType = refundType;
        this.refundContent = refundContent;
        this.refundTime = refundTime;
        this.confirmTime = confirmTime;
        this.comments = comments;
        this.endTime = endTime;
        this.addTime = addTime;
        this.payType = payType;
        this.statusName = statusName;
        this.orderLogisticsMessages = orderLogisticsMessages;
        this.goodsList = goodsList;
        this.packageMap = packageMap;
        this.aftersalesList = aftersalesList;
    }

    public List<LitemallAftersale> getAftersalesList() {
        return aftersalesList;
    }

    public void setAftersalesList(List<LitemallAftersale> aftersalesList) {
        this.aftersalesList = aftersalesList;
    }

    public Short getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Short orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Short getAftersaleStatus() {
        return aftersaleStatus;
    }

    public void setAftersaleStatus(Short aftersaleStatus) {
        this.aftersaleStatus = aftersaleStatus;
    }

    public Short getComments() {
        return comments;
    }

    public void setComments(Short comments) {
        this.comments = comments;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getOrderSn() {
        return orderSn;
    }

    public void setOrderSn(String orderSn) {
        this.orderSn = orderSn;
    }



    public String getConsignee() {
        return consignee;
    }

    public void setConsignee(String consignee) {
        this.consignee = consignee;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public BigDecimal getGoodsPrice() {
        return goodsPrice;
    }

    public void setGoodsPrice(BigDecimal goodsPrice) {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getFreightPrice() {
        return freightPrice;
    }

    public void setFreightPrice(BigDecimal freightPrice) {
        this.freightPrice = freightPrice;
    }

    public BigDecimal getCouponPrice() {
        return couponPrice;
    }

    public void setCouponPrice(BigDecimal couponPrice) {
        this.couponPrice = couponPrice;
    }

    public BigDecimal getIntegralPrice() {
        return integralPrice;
    }

    public void setIntegralPrice(BigDecimal integralPrice) {
        this.integralPrice = integralPrice;
    }

    public BigDecimal getGrouponPrice() {
        return grouponPrice;
    }

    public void setGrouponPrice(BigDecimal grouponPrice) {
        this.grouponPrice = grouponPrice;
    }

    public BigDecimal getOrderPrice() {
        return orderPrice;
    }

    public void setOrderPrice(BigDecimal orderPrice) {
        this.orderPrice = orderPrice;
    }

    public BigDecimal getActualPrice() {
        return actualPrice;
    }

    public void setActualPrice(BigDecimal actualPrice) {
        this.actualPrice = actualPrice;
    }

    public String getPayId() {
        return payId;
    }

    public void setPayId(String payId) {
        this.payId = payId;
    }

    public LocalDateTime getPayTime() {
        return payTime;
    }

    public void setPayTime(LocalDateTime payTime) {
        this.payTime = payTime;
    }

    public String getShipSn() {
        return shipSn;
    }

    public void setShipSn(String shipSn) {
        this.shipSn = shipSn;
    }

    public String getShipChannel() {
        return shipChannel;
    }

    public void setShipChannel(String shipChannel) {
        this.shipChannel = shipChannel;
    }

    public LocalDateTime getShipTime() {
        return shipTime;
    }

    public void setShipTime(LocalDateTime shipTime) {
        this.shipTime = shipTime;
    }

    public BigDecimal getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(BigDecimal refundAmount) {
        this.refundAmount = refundAmount;
    }

    public String getRefundType() {
        return refundType;
    }

    public void setRefundType(String refundType) {
        this.refundType = refundType;
    }

    public String getRefundContent() {
        return refundContent;
    }

    public void setRefundContent(String refundContent) {
        this.refundContent = refundContent;
    }

    public LocalDateTime getRefundTime() {
        return refundTime;
    }

    public void setRefundTime(LocalDateTime refundTime) {
        this.refundTime = refundTime;
    }

    public LocalDateTime getConfirmTime() {
        return confirmTime;
    }

    public void setConfirmTime(LocalDateTime confirmTime) {
        this.confirmTime = confirmTime;
    }



    public LocalDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }

    public LocalDateTime getAddTime() {
        return addTime;
    }

    public void setAddTime(LocalDateTime addTime) {
        this.addTime = addTime;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public List<OrderLogisticsMessage> getOrderLogisticsMessages() {
        return orderLogisticsMessages;
    }

    public void setOrderLogisticsMessages(List<OrderLogisticsMessage> orderLogisticsMessages) {
        this.orderLogisticsMessages = orderLogisticsMessages;
    }

    public List<OrderGoodsBackVo> getGoodsList() {
        return goodsList;
    }

    public void setGoodsList(List<OrderGoodsBackVo> goodsList) {
        this.goodsList = goodsList;
    }

    public Map<Integer, Object> getPackageMap() {
        return packageMap;
    }

    public void setPackageMap(Map<Integer, Object> packageMap) {
        this.packageMap = packageMap;
    }
}
